package com.ruoyi.warning.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 防火墙相关
 * </p>
 *
 * @author chenhc
 * @since 2025-07-24
 */
@Data
@TableName("firewall_log")
public class FirewallLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "log_id", type = IdType.AUTO)
    private String logId;

    @Excel(name = "IP")
    private String hostname;

    @Excel(name = "名称")
    private String name;

    @Excel(name = "运行时间")
    private String runtime;

    @Excel(name = "序列号")
    private String serial;

    @Excel(name = "系统版本")
    private String version;

    @Excel(name = "cpu数量")
    private Integer cpuCount;

    @Excel(name = "cpu总利用率")
    private Integer totalCpuUtilization;

    @Excel(name = "内存利用率")
    private Integer memoryUtilization;

    @Excel(name = "总内存大小")
    private Long totalMemorySize;

    @Excel(name = "并发连接数")
    private Integer concurrentConnectionsCount;

    @Excel(name = "每秒新建连接数（1分钟平均）")
    private Integer newConnections1m;

    @Excel(name = "每秒新建连接数（10分钟平均）")
    private Integer newConnections10m;

    @Excel(name = "每秒新建连接数（30分钟平均）")
    private Integer newConnections30m;

    @Excel(name = "每秒新建连接数（60分钟平均）")
    private Integer newConnections60m;

    @Excel(name = "设备Licence到期时间")
    private String licenceExpirationTime;

    @Excel(name = "设备Licence名称")
    private String licenceName;

    private Integer deviceId;

    @TableField(fill = FieldFill.INSERT)
    @Excel(name = "日志时间")
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;
}
